package com.mall.service;

import com.mall.entity.Coupon;
import com.mall.entity.UserCoupon;

import java.util.List;

/**
 * @author ShouPeng
 * @since 2024-01-16
 * 用户领取的优惠券表 服务类
 */
public interface IUserCouponService {

    /**
     * 删除优惠券
     * @param ids ids
     * @return success count
     */
    Integer deleteCoupon(List<Integer> ids);

    /**
     * 领取优惠券
     * @param coupon entity
     * @return bool
     */
    Boolean claimCoupon(UserCoupon coupon);

    /**
     * 查询优惠券
     * @return list
     */
    List<Coupon> queryCoupon(Boolean flag, String userId);

    /**
     * 查询为过期优惠券数量
     * @return list
     */
    Integer queryCouponCount(String userId);

    /**
     * 查询优惠券
     * @return list
     */
    UserCoupon queryCouponById(String userId,Integer couponId);

    List<Coupon> queryExpiredCoupon(String userId);
    /**
     * 使用优惠券
     * @return bool
     */
    Boolean useCoupon(String couponId,String userId);
}
